iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
Security

新手的30天數位鑑識之旅系列 第 6

06|數位證據的指紋:Hash 是什麼?(下)

  • 分享至 

  • xImage
  •  

上一篇我們自己建立了一個 txt 檔案,實際看到只修改一個字元,Hash 就會產生很大的變化。

這讓 Hash 很適合拿來確認資料是否發生改變。

前面介紹 Acquisition 時,我們知道可以將原始儲存媒體製作成 Forensic Image

那要怎麼確認製作出來的 Image 跟原始證據一致?

就是對兩邊分別計算 Hash,再進行比對。

Original Evidence
       ↓
    SHA-256
       ↓
     Hash A


Forensic Image
       ↓
    SHA-256
       ↓
     Hash B

如果:

Hash A = Hash B

就代表在 Hash 所涵蓋的資料範圍內,兩份資料內容一致。

因此 Hash 可以用來協助驗證 Forensic Image 的完整性。

假設今天拿到一顆電腦硬碟。

裡面可能有:

Windows
Users
Program Files
Downloads
Documents
Pictures
...

可能包含數萬個檔案。

如果每個檔案都要人工打開確認,鑑識人員大概會崩潰。

這時候 Hash 還有另一個非常實用的用途,那就是

快速辨認已知的檔案。


Known Hash

假設我們已經知道某個檔案是正常的 Windows 系統檔案。

例如:

notepad.exe

可以先計算它的 Hash:

notepad.exe
     ↓
   SHA-256
     ↓
ABC123...

如果我們把大量已知檔案的 Hash 整理起來,就可以建立一個 Hash Database

例如:

Hash Database

ABC123... → notepad.exe
DEF456... → calc.exe
GHI789... → explorer.exe

這些 Hash 就可以當成「已知檔案的指紋」。

如此一來,鑑識人員就可以快速把大量已知、正常的檔案排除掉,把時間集中在比較值得調查的檔案上。


Known Good 與 Known Bad

Known Good

代表已知正常的檔案,例如:

Windows 系統檔案
常見軟體檔案

如果 Hash 匹配 Known Good,就代表它與資料庫中的已知正常檔案一致。

Known Bad

則可以存放已知的惡意檔案:

Malware
已知惡意工具
其他已知惡意檔案

如果發現:

檔案 Hash
    ↓
匹配 Known Bad

就值得進一步調查。


Unknown 不等於 Malware

假設某個檔案的 Hash 在資料庫裡完全找不到。

這只能代表:

這個檔案不在目前的 Known Hash Database 裡。

不能說:

「找不到 → 所以它是 Malware。」

因為它可能是:

  • 使用者自己建立的檔案

  • 新版本的軟體

  • 客製化程式

  • 資料庫尚未收錄的檔案

  • 新出現的惡意程式

所以 Hash Database 比較像是幫助鑑識人員快速縮小範圍的工具,而不是直接替鑑識人員做最後判斷。


小結

Hash 在鑑識中的兩個重要用途:

Hash
│
├── Integrity Verification
│   └── 確認 Evidence / Forensic Image 是否一致
│
└── File Identification
    └── 利用 Known Hash 快速辨認檔案

上一篇
05|數位證據的指紋:Hash 是什麼?(上)
下一篇
07|鑑識的放大鏡:Hex Editor
系列文
新手的30天數位鑑識之旅9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言